/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.ContraindicacionesMedicamento;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class ContraindicacionesMedicamentoFisica extends CapaFisica {

    /**
     * Retorna el objeto Contraindicación según la descripcion de la 
     * contraindicación del medicamento.
     *
     * @param descripcionContraindicacionMedicamento La descripción de
     * las contraindicaciones del medicamento
     * @param estado false si es baja lógica, true si aún activo
     * @return El objeto Contraindicacions consultado, null si no existe
     */
    public static ContraindicacionesMedicamento
            getContraindicacionMedicamentoPorDescripcionYEnBd(
            String descripcionContraindicacionMedicamento, boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from ContraindicacionesMedicamento "
                + "where lower(sinacentos("
                + "descripcionContraindicacionesMedicamento)) = "
                + "lower(sinacentos('"
                + descripcionContraindicacionMedicamento + "')) "
                + "and enBdContraindicacionesMedicamento = " + estado);
        
        return (ContraindicacionesMedicamento) getObjeto(q);
    }

    /**
     * Retorna el objeto ContraindicacionesMedicamento según el id.
     *
     * @param idContraindicacionesMedicamento El id de las contraindicaciones del
     * medicamento
     * @return El objeto ContraindicacionesMedicamento consultado, null si no existe
     */
    public static ContraindicacionesMedicamento getContraindicacionesMedicamentoPorId(
            int idContraindicacionesMedicamento) {
        Query q = Sesion.sesion.createQuery(
                "from ContraindicacionesMedicamento "
                + "where idContraindicacionesMedicamento = "
                + idContraindicacionesMedicamento
                );

        return (ContraindicacionesMedicamento) getObjeto(q);
    }
}
